<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
	<title>Flow Elements - Screenbar Documentation</title>
	<link rel="stylesheet" type="text/css" media="screen" href="style.css">
</head>
<body>

<H1>Flow Elements</H1>

<P>A flow element takes a set of elements (including elements that are
duplicated for each task or desk) and arranges them relative to eachother. It
may also resize them to ensure that they all fit.</P>

<div id="configoption">
	Flow elements inherit <a href="layout.html#common">common layout
	options</a> and <a href="layout.html#positioning">positionable element
	options</a>.
</div>

<div id="configoption" name="prefixElements">
	<div id="prototype">(prefix)Elements [element-list]</div>
	<div id="defaultval">Mandatory setting</div>
	<div id="description">
		Lists the elements to be arranged. Given as a space-separated list of
		their names.
	</div>
</div>

<div id="configoption" name="prefixRows">
	<div id="prototype">(prefix)Rows [int or "variable"]</div>
	<div id="defaultval">Default: 1</div>
	<div id="description">
		The number of rows of elements in this flow. If set to variable, then the
		number of rows is determined based on <prefix>RowThickness and the geometry
		of the context the flow is in.
	</div>
</div>

<div id="configoption" name="prefixRowThickness">
	<div id="prototype">(prefix)RowThickness [int]</div>
	<div id="defaultval">Default: 16</div>
	<div id="description">
		If (prefix)Rows is "variable", the thickness (in pixels) of the rows in
		this flow. The number of rows will be automatically adjusted according to
		the total thickness.
	</div>
</div>

<div id="configoption" name="prefixLengthFirst">
	<div id="prototype">(prefix)LengthFirst [bool]</div>
	<div id="defaultval">Default: false</div>
	<div id="description">
		If this flow has more than one row, this option indicates whether the first
		row should be filled (made as wide as it can be) before moving onto the
		second and subsequent rows.
	</div>
</div>

<div id="configoption" name="prefixVertical">
	<div id="prototype">(prefix)Vertical [true|false|inherit]</div>
	<div id="defaultval">Default: inherit</div>
	<div id="description">
		Whether this flow arranges elements vertically. By default, this setting
		is inherited from the flow or window it is nested in.
	</div>
</div>

<div id="configoption" name="createAnimation">
	<div id="prototype">(prefix)CreateAnimation [<a href="animations.html">animation</a>]</div>
	<div id="defaultval">Default: none</div>
	<div id="description">
		The animation which is played when a new element is added to this flow,
		because it contained a .desks or .tasks element and a new desk or task
		was created.
	</div>
</div>

<div id="configoption" name="destroyAnimation">
	<div id="prototype">(prefix)DestroyAnimation [<a href="animations.html">animation</a>]</div>
	<div id="defaultval">Default: none</div>
	<div id="description">
		The animation which is played when a new element is removed from this
		flow, because it contained a .desks or .tasks element and a desk or
		task was removed.
	</div>
</div>

<P>Elements can be either:</P>

<ul id="namelist">
<li id="namelistitem">
	<div id="itemname">[element]</div>
	<div id="itemdesc">
		Where [element] is the name of another layout element, which will be
		shown inside the flow element.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">.desks([element])</div>
	<div id="itemdesc">
		Where [element] is the name of another layout element, which will be
		shown inside the flow element and repeated for every desk. These elements
		get a context desk, which is applied recursively to all their children.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">.tasks([element])</div>
	<div id="itemdesc">
		Where [element] is the name of another layout element, which will be
		shown inside the flow element and repeated for every task. These elements
		get a context task, which is applied recursively to all their children.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">[N]</div>
	<div id="itemdesc">
		Where [N] is an integer. Inserts N pixels of empty space.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">.[N]</div>
	<div id="itemdesc">
		Where [N] is an integer. Inserts N pixels of optional empty space, which
		may shrink or be omitted if the flow is full or close to full.
	</div>
</li>

<li id="namelistitem">
	<div id="itemname">.freeSpace</div>
	<div id="itemdesc">
		If there is extra space left over, controls where it goes. If there is no
		.freeSpace element, leftover space is added to the end. If there is more
		than one .freeSpace element, free space is divided equally between them,
		with odd pixels going to the first ones.
	</div>
</li>
</ul>

<div id="navigation">
	<a href="branch.html">Previous Page</a>
	<a href="index.html">Index</a>
	<a href="group.html">Next Page</a>
</div>

</body>
</html>
